Data processing systems generally receive data from a data source, process the data according to particular rules, and store the processed data for later transactions. Traditionally, modifying these data processing systems to receive a second data type that uses a different format from the first data type requires a tedious and extensive programming effort. These conventional systems normally require redundant control logic and additional programming modules to process the additional data formats. This prohibits current data processing systems from efficiently and dynamically processing new data formats.